package com.unittec.drainage.provider.manage.entity;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.unittec.drainage.provider.manage.common.mybatisTypeHandler.ToGeomTypeHandler;
import com.unittec.drainage.provider.root.EntityRoot;
import com.vividsolutions.jts.geom.Geometry;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 污水厂表
 * @author Jason
 * @date 2021/8/6
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@TableName(value = "sewage_plant")
public class SewagePlant extends EntityRoot implements Serializable {

    private static final long serialVersionUID = -4588088907784681001L;

    /**
     * 污水厂名称
     */
    @TableField(value = "name")
    private String name;

    /**
     * 建筑面积
     */
    @TableField(value = "built_area")
    private BigDecimal builtArea;

    /**
     * 规模
     */
    @TableField(value = "scale")
    private String scale;

    /**
     * 污水处理工艺
     */
    @TableField(value = "craft")
    private String craft;

    /**
     * 尾水受纳水体
     */
    @TableField(value = "water_body")
    private String waterBody;

    /**
     * 排放标准
     */
    @TableField(value = "emission_standard")
    private String emissionStandard;

    /**
     * 收集面积
     */
    @TableField(value = "collection_area")
    private String collectionArea;

    /**
     * 服务范围
     */
    @TableField(value = "service_area")
    private String serviceArea;

    /**
     * 几何图形
     */
    @JsonIgnore
    @JSONField(serialize = false)
    @TableField(value = "geom", typeHandler = ToGeomTypeHandler.class)
    private Geometry geom;

    /**
     * 排序
     */
    @TableField(value = "sort")
    private Short sort;

    /**
     * 备注
     */
    @TableField(value = "remarks")
    private String remarks;

}